package com.zhao.fishingguideserver.service;

import com.zhao.fishingguideserver.POJO.Post;

import java.util.List;

public interface PostService {
    /**
     * 发布帖子
     */
    String createPost(Post post);
    
    /**
     * 更新帖子
     */
    String updatePost(Post post);
    
    /**
     * 删除帖子
     */
    String deletePost(Integer postId, Integer userId);
    
    /**
     * 根据ID获取帖子详情
     */
    Post getPostById(Integer postId);
    
    /**
     * 获取帖子列表（分页）
     */
    List<Post> getPosts(Integer page, Integer size);
    
    /**
     * 根据分类获取帖子列表
     */
    List<Post> getPostsByCategory(String category, Integer page, Integer size);
    
    /**
     * 根据用户ID获取帖子列表
     */
    List<Post> getPostsByUserId(Integer userId, Integer page, Integer size);
    
    /**
     * 搜索帖子
     */
    List<Post> searchPosts(String keyword, Integer page, Integer size);
    
    /**
     * 获取热门帖子
     */
    List<Post> getHotPosts(Integer limit);
    
    /**
     * 点赞/取消点赞帖子
     */
    String toggleLike(Integer postId, Integer userId);
    
    /**
     * 增加浏览次数
     */
    String incrementViewCount(Integer postId);
    
    /**
     * 获取帖子总数
     */
    int getPostCount();
    
    /**
     * 根据分类获取帖子总数
     */
    int getPostCountByCategory(String category);
    
    /**
     * 根据用户获取帖子总数
     */
    int getPostCountByUserId(Integer userId);
}
